deploy: Use internal recursive copy rather than libgsystem
authorColin Walters <walters@verbum.org>
Thu, 4 Aug 2016 13:37:26 +0000 (09:37 -0400)
committerAtomic Bot <atomic-devel@projectatomic.io>
Mon, 8 Aug 2016 14:16:34 +0000 (14:16 +0000)
Since we already had a "recursive copy" implementation here, let's
reuse it rather than the libgsystem `gs_shutil_cp_a()`.  Part of the
libglnx porting.

Closes: #428
Approved by: jlebon

src/libostree/ostree-sysroot-deploy.c

index d9f6ab949da4484413cffb7c32421a7f3cf020b8..a05ca30ded564f8f2d1af805fff5f7fd22cc76d8 100644 (file)
@@ -854,10 +854,15 @@ merge_configuration (OstreeSysroot         *sysroot,
   
   if (usretc_exists)
     {
+      glnx_fd_close int deployment_usr_dfd = -1;
+
+      if (!glnx_opendirat (deployment_dfd, "usr", TRUE, &deployment_usr_dfd, error))
+        goto out;
+
       /* TODO - set out labels as we copy files */
       g_assert (!etc_exists);
-      if (!gs_shutil_cp_a (deployment_usretc_path, deployment_etc_path,
-                           cancellable, error))
+      if (!copy_dir_recurse (deployment_usr_dfd, deployment_dfd, "etc",
+                             cancellable, error))
         goto out;
 
       /* Here, we initialize SELinux policy from the /usr/etc inside